<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //   function add(a, b, c) {
      //     return a + b + c;
      //   }

      //   console.log(add(1, 2, 3));

      function add1(a) {
        return function (b) {
          return function (c) {
            return function (d) {
              return a + b + c + d;
            };
          };
        };
      }
      console.log(add1("n    ")("m    ")("s    ")("l "));

      /* 
        函数柯里化：通过函数调用继续返回函数的方式，多次接收参数，最后统一处理
      */

      //   function addUrl(protocol) {
      //     return function (host) {
      //       return function (port) {
      //         return `${protocol}://${host}:${port}`;
      //       };
      //     };
      //   }
      //   const addUrl1 = addUrl("http");
      //   const addUrl2 = addUrl1("127.0.0.1");
      //   console.log(addUrl("http")("127.0.0.1")(8989));
      //   console.log(addUrl1("127.0.0.1")(8989));
      //   console.log(addUrl2(8989));
    </script>
  </body>
</html>
